package com.gccloud.design.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gccloud.design.dto.PriRelDto;
import com.gccloud.design.dto.SdSchPriRelDto;
import com.gccloud.design.entity.SdSchPriRelEntity;
import com.gccloud.design.vo.PriRelVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;


/**
 * @author mengyu
 * @date 2020/12/26 13:59
 */
@Mapper
public interface SdSchPriRelDao extends BaseMapper<SdSchPriRelEntity> {

    /**
     * 基于调度方案标识查询调度方案策略实体列表
     *
     * @param schemeId 调度方案标识
     * @return 列表
     */
    List<SdSchPriRelDto> getPriRelList(int schemeId, Page<SdSchPriRelDto> page);

    /**
     * 基于调度方案标识查询调度方案策略列表
     *
     * @param schemeId 调度方案标识
     * @return 调度方案策略列表
     */
    List<PriRelVO> getPriRel(int schemeId);

    /**
     * 基于调度方案标识删除调度方案策略实体
     *
     * @param schemeId 调度方案标识
     */
    void deleteByschemeId(Integer schemeId);

    /**
     * 查询总数
     *
     * @param schemeId 调度方案标识
     * @return 数量
     */
    List<Integer> getTotalBySchemeId(Integer schemeId);

    /**
     * 基于调度方案标识查询调度原则实体
     *
     * @param schemeId 调度方案标识
     * @return 调度原则实体列表
     */
    List<PriRelDto> getPriRelAttr(String schemeId);
}
